//auto gen by paipai.java.augogen ver 3.0.0
//author skyzhuang
//source idl: idl.GisErpDao.java


#ifndef ERP_GIS_DDO_CSHIPTYPEAREALOCUSDOLIST_BY_AUTOGEN_V5_H
#define ERP_GIS_DDO_CSHIPTYPEAREALOCUSDOLIST_BY_AUTOGEN_V5_H


#include "app_platform/intf_serializable.h"
#include <vector>
#include "erp/gis/ddo/shiptypearealocusdo_gis.h"
#include <string>
#include <iostream>


namespace erp
{
namespace gis
{
namespace ddo
{


class CShipTypeAreaLocusDoList : public ISerializable
{
	public:
		std::string m_sLastErrMsg;///<错误信息
		/**
		 * 配送区域轨迹列表
		 *
		 * 版本 >= 0
		 */
		std::vector<erp::gis::ddo::CShipTypeAreaLocusDo>  vecShipTypeAreaLocusDo;




	public:
		CShipTypeAreaLocusDoList(){}
		CShipTypeAreaLocusDoList& operator = (const CShipTypeAreaLocusDoList& obj){

			this->vecShipTypeAreaLocusDo = obj.vecShipTypeAreaLocusDo;
			return *this;
		}

	public:


		/**
		 * 设置配送区域轨迹列表
		 * 
		 * 此字段的版本 >= 0
		 * @param std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> :vecShipTypeAreaLocusDo
		 *  
		 * 
		 */
		 void  SetShipTypeAreaLocusDo( const std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> & sVal){
				vecShipTypeAreaLocusDo = sVal;
		}


		/**
		 * 获取配送区域轨迹列表
		 * 
		 * @return vecShipTypeAreaLocusDo value 类型为:std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> 
		 * 
		 */
		 const std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> &  GetShipTypeAreaLocusDo() const {
				return vecShipTypeAreaLocusDo;
		}


		/**
		 * 获取配送区域轨迹列表
		 * 
		 * @return vecShipTypeAreaLocusDo value 类型为:std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> 
		 * 
		 */
		 std::vector<erp::gis::ddo::CShipTypeAreaLocusDo> &  GetShipTypeAreaLocusDo() {
				return vecShipTypeAreaLocusDo;
		}

		virtual bool Serialize(CByteStreamNetwork& bs){
		
			if(bs.isStoring()) //for write in buffer
			{
				Serialize_i(bs);
			}
			else{ //for read from buffer
				Serialize_i(bs);
			}

			return bs.isGood();
		}

		bool Serialize_i(CByteStreamNetwork& bsTmp){

			bsTmp & vecShipTypeAreaLocusDo; // 序列化配送区域轨迹列表 类型为Vector
			return bsTmp.isGood();
		}

		const char* GetLastErrMsg() const{
			return m_sLastErrMsg.c_str();
		}

		bool VerifyShipTypeAreaLocusDoList(){
			return true;
		}

		void DumpData(std::ostream& oss) const{
		

			std::vector<erp::gis::ddo::CShipTypeAreaLocusDo>::const_iterator itervecShipTypeAreaLocusDo=vecShipTypeAreaLocusDo.begin();
			for(int i=0; itervecShipTypeAreaLocusDo!=vecShipTypeAreaLocusDo.end();itervecShipTypeAreaLocusDo++,i++){
				oss<<"[vecShipTypeAreaLocusDo:";
				itervecShipTypeAreaLocusDo->DumpData(oss);
				oss<<"] ";
			}
		
		}

		// codydeng提供,非常好的dump方法 ^-^  。。。。。
		template<typename T>
		T & DumpPlusData(T& oss){
			oss<<"vecShipTypeAreaLocusDo:"<<vecShipTypeAreaLocusDo;
			return oss;
		}

		// wileywang提供,树形dump方法 ^-^  。。。。。
		void DumpDataTree(std::ostream& os, int ident = 0)const {
			g_pprint(os, "vecShipTypeAreaLocusDo", vecShipTypeAreaLocusDo, ident);
		}

/**
 ********************以下信息是每个版本的字段********************
 */

};

}
}
}

#endif /* ERP_GIS_DDO_CSHIPTYPEAREALOCUSDOLIST_BY_AUTOGEN_V5_H */
